package com.logic.landseaserver.persistence.read;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.logic.common.util.QueryUtil;
import com.logic.common.ws.dto.system.AddressDTO;
import com.logic.landseaserver.domain.Deposit;
import com.logic.landseaserver.domain.Project;
import com.logic.landseaserver.ws.dto.DepositDTO;
import com.logic.landseaserver.ws.dto.DepositPdfDTO;
import com.logic.landseaserver.ws.dto.ProjectAppartmentDTO;
import com.logic.landseaserver.ws.response.DepositResp;

/**
 * @Author: jack
 * @Date: 2017/5/4
 * @Description: 活动接口类
 */
public interface DepositReadMapper {

    Deposit selectByPrimaryKey(Integer id);

    List<DepositDTO> getDepositDTOList(QueryUtil queryUtil);

    DepositDTO getDepositDetail(Integer depositId);

    List<Deposit> queryUserDeposit(HashMap map);

    DepositPdfDTO getDipositPdfDTO(HashMap map);

    //获得最大序列号
    Integer getMaxContractCode();

    List<Deposit> queryComeDueDeposit(Map<String, String> map);

    List<Deposit> queryUnusedDeposit(Map<String, String> map);
    List<Object> queryDepositByUserId(Integer userId);

    List<Deposit> getUnpayedDeposit();

    DepositResp getDepositDetailByRoom(Integer roomId);
    //查询预定项目信息
    Project selectProject(Integer id);
    //查询预定房间信息
    ProjectAppartmentDTO selectRoomDTO(Integer id);
    //查询地址信息
    AddressDTO selectAddressDTO(Integer id);

    Integer queryEffective(Integer userId);

    List<Deposit> queryPDFImgIsNull();

    Integer queryChangeVersionCount(Integer userId,Integer prjId);

    List<Deposit> queryUsedDeposit(Integer userId);

    Integer checkUserDeposit(Integer userId);
}